﻿#ifndef NOTES_MANAGER_H
#define NOTES_MANAGER_H
#include <vector>
#include <map>

#include "MLObj.h"
#include "NotesTrack.h"

class NotesManager :public MLObj {
public:
	NotesManager(
		int frame_size_x, int frame_size_y,
		double frame_rate,
		std::vector<NoteStream>& streams,
		std::map<std::string, Color>& colors,
		Byte alpha,
		double play_speed,
		int record_radius,
		double border_brightness,
		double center_brightness,
		double border_radius,
		double middle_color_loc
	);
	~NotesManager();
	void clear();
	void get_frame(size_t frame_index, MLFrame& frame);

private:
	std::vector<NotesTrack> _tracks;
	GLuint _mix_glsl;
};
#endif
